package com.sjy.ship.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.sjy.common.annotation.Excel;
import com.sjy.common.core.domain.BaseEntity;

/**
 * 船舶信息对象 ship_info
 * 
 * @author lzm
 * @date 2023-06-14
 */
@Data
public class ShipInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 船舶ID主键 */
    private Long shipId;

    /** 船舶名称 */
    @Excel(name = "船舶名称")
    private String shipName;

    /** 拥有类型（1购买；2租赁） */
    @Excel(name = "拥有类型", readConverterExp = "1=购买；2租赁")
    private String ownedType;

    /** 开始拥有时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始拥有时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date ownedStartTime;

    /** 结束拥有时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束拥有时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date ownedEndTime;

    /** 满载吃水/米 */
    @Excel(name = "满载吃水/米")
    private String maxLoadWater;

    /** 最大载重量/吨 */
    @Excel(name = "最大载重量/吨")
    private String maxLoad;

    /** 船等级，等级越高装越多车（一等船120-130车、二等90车、三等车40-50） */
    @Excel(name = "船等级，等级越高装越多车", readConverterExp = "一=等船120-130车、二等90车、三等车40-50")
    private String loadLevel;

    /** 是否有污水处理装置（没有的话，当船员生活污水时需要排放到码头来的污水处理车上，再开一张污水收纳证明单） */
    @Excel(name = "是否有污水处理装置", readConverterExp = "没=有的话，当船员生活污水时需要排放到码头来的污水处理车上，再开一张污水收纳证明单")
    private Boolean hasSewageTreatment;

    /** 船高/米 */
    @Excel(name = "船高/米")
    private String shipHigh;

    /** 船宽/米 */
    @Excel(name = "船宽/米")
    private String shipWide;

    /** 船长/米 */
    @Excel(name = "船长/米")
    private String shipLong;

    /** 船舶种类（多用途船、散货船、杂货船、集装箱船） */
    @Excel(name = "船舶种类", readConverterExp = "多=用途船、散货船、杂货船、集装箱船")
    private String shipType;

    /** 油箱容量/升 */
    @Excel(name = "油箱容量/升")
    private Long oilQuantity;

    /** 当前剩余油量 */
    @Excel(name = "当前剩余油量")
    private Long oilRemain;

    /** 船籍港 */
    @Excel(name = "船籍港")
    private String shipPort;

    /** 船舶公司名称 */
    @Excel(name = "船舶公司名称")
    private String companyName;

    /** 是否安装北斗 */
    @Excel(name = "是否安装北斗")
    private Boolean installNorthDou;

    /** 船上联系电话，存在多个用逗号隔开（最多存5个） */
    @Excel(name = "船上联系电话，存在多个用逗号隔开", readConverterExp = "最=多存5个")
    private String contactPhone;

    /** 船舶建造时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "船舶建造时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date constructionCreateTime;

    /** 加入公司船队时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "加入公司船队时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date fleetJoinTime;

    /** 船舶状态（1-0休息中、1-1等待装船、1-2装船中、1-3运输中、1-4等待卸货、1-5卸货中、1-6已卸货、1-7返航中、2维修中、3已注销） */
    @Excel(name = "船舶状态", readConverterExp = "1=-0休息中、1-1等待装船、1-2装船中、1-3运输中、1-4等待卸货、1-5卸货中、1-6已卸货、1-7返航中、2维修中、3已注销")
    private String shipStatus;

    /** 船舶毛重/吨 */
    @Excel(name = "船舶毛重/吨")
    private String shipGrossWeight;

    /** 船队 */
    @Excel(name = "船队")
    private String fleet;

}
